// import { legacy_createStore as createStore } from 'redux'
import { createStore } from "../myredux"

/** 管理员：修改Store容器中的公共状态 */
let initial = {
    supNum: 10,
    oppNum: 5
}

const reducer = function reducer(state = initial, action) {
    // state :存储store容器中的公共状态 【最开始没有的时候，赋值为initial】
    // action ：每一次基于dispatch派发的时候，传递进来的行为对象，要求必须具备type属性，存储派发的行为标识

    // 为了接下来的操作中，我们操作state，不会直接修改容器中的状态 【要等到最后return的时候】，我们需要先克隆
    state = { ...state }
    // 基于派发的行为标识，修改Store容器中的公共状态信息
    switch (action.type) {
        case 'VOTE_SUP':
            state.supNum++
            return state
        case 'VOTE_OPP':
            state.oppNum++
            return state
        default:
    }

    // return 的内容，会整体替换Store容器中的内容
    return state
}
const store = createStore(reducer)

store.dispatch({
    type: 'VOTE_SUP',
    step: 10
})



export default store
